<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>
<body>
  <script>
    /* 
      什么是函数？
        函数：
          函数是由事件驱动的或者当它被调用时执行的可重复使用的代码块
         
      声名函数的关键字：
        function
      
      
    */
    /* 
      1、声名普通函数

        function 函数名() {
          函数体
        }
    */
    // function show() {
    //   console.log("这是一个普通函数");
    // }

    /* 
      2、带有参数的函数
        function 函数名(参数1, 参数2, ...) {
          函数体
        }
      
      为什么要有参数
        将有共性特点的内容进行封装，通过传入参数执行代码块

      什么是形参什么是实参
        形参：全程形式参数，声名函数时，函数名后小括号里，以一种形式出现的参数，叫做形参
        实参：全称实际参数，调用函数时，函数名后面小括号里，以实际值出现的参数，叫做实参

        注意：
          实参和形参的关系是对位传递
          当实参比形参的个数少，多出的形参值为undefined
          当实参比形参的个数多，多出的实参会被忽略
    */
    // 求面积
    // function qiang() {
    //   console.log(5 * 3);
    // }
    // function boli() {
    //   console.log(2 * 1);
    // }
    // function zhuozi() {
    //   console.log(60 * 80);
    // }

    // function area(long, width) {
    //   console.log(long * width);
    // }
    // // 墙体
    // area(5, 3);
    // // 玻璃
    // area(2, 1);

    // function area(a, b) {
    //   // console.log(a * b);
    //   console.log(b);
    // }
    // area(5);

    // function area(a, b) {
    //   console.log(a * b);
    // }
    // area(5, 10, 20);

    /* 
      带有返回值的函数

      function 函数名(形参1, 形参2) {
        return 函数体;
      }

      注意：
        调用函数时候需要用变量接受调用的结果
        任何一个函数都有自己的返回结果，不用return返回的就是undefined

      return的第一个作用：
        返回return 右侧跟着的具体内容
      return的第二个作用：
        终止函数，return后的内容不会被执行，因此return在函数中出现要写在函数中的最后一行



    */
    // function show(a, b) {
    //   return a + b;
    // }
    // var res = show(1, 2);
    // console.log(res);

    // function show(a, b) {
    //   return;
    //   console.log(a + b); // 15
    // }
    // show(5, 10);

    // function show(a, b) {
    //   console.log(a + b);
    // }
    // show(5, 10); // 15

    // var res = show(5, 10);
    // console.log(res); // undefined


    /* 
      函数小知识:
        函数名 + () 表示调用这个函数
        直接使用函数名，将整个函数以字符串形式使用
    
    */
    function show() {
      return "枯藤老树昏鸦,空调wifi西瓜";
    } 
    console.log(show()); // 函数结果
    console.log(show); // 将整个函数以字符串形式使用
  </script>
</body>
</html>